library(tidyverse)
## ── Attaching packages ─────────────────────────────────────────────────────────── tidyverse 1.2.1 ──
## ✔ ggplot2 3.0.0 ✔ purrr 0.2.5
## ✔ tibble 1.4.2 ✔ dplyr 0.7.6
## ✔ tidyr 0.8.1 ✔ stringr 1.3.1
## ✔ readr 1.1.1 ✔ forcats 0.3.0
## ── Conflicts ────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
library(ggridges)
##
## Attaching package: 'ggridges'
## The following object is masked from 'package:ggplot2':
##
## scale_discrete_manual
library(rnoaa)
weather_df =
rnoaa::meteo_pull_monitors(c("USW00094728", "USC00519397", "USS0023B17S"),
var = c("PRCP", "TMIN", "TMAX"),
date_min = "2017-01-01",
date_max = "2017-12-31") %>%
mutate(
name = recode(id, USW00094728 = "CentralPark_NY",
USC00519397 = "Waikiki_HA",
USS0023B17S = "Waterhole_WA"),
tmin = tmin / 10,
tmax = tmax / 10) %>%
select(name, id, everything())
weather_df
## # A tibble: 1,095 x 6
## name id date prcp tmax tmin
## <chr> <chr> <date> <dbl> <dbl> <dbl>
## 1 CentralPark_NY USW00094728 2017-01-01 0 8.9 4.4
## 2 CentralPark_NY USW00094728 2017-01-02 53 5 2.8
## 3 CentralPark_NY USW00094728 2017-01-03 147 6.1 3.9
## 4 CentralPark_NY USW00094728 2017-01-04 0 11.1 1.1
## 5 CentralPark_NY USW00094728 2017-01-05 0 1.1 -2.7
## 6 CentralPark_NY USW00094728 2017-01-06 13 0.6 -3.8
## 7 CentralPark_NY USW00094728 2017-01-07 81 -3.2 -6.6
## 8 CentralPark_NY USW00094728 2017-01-08 0 -3.8 -8.8
## 9 CentralPark_NY USW00094728 2017-01-09 0 -4.9 -9.9
## 10 CentralPark_NY USW00094728 2017-01-10 0 7.8 -6
## # ... with 1,085 more rows
Blank plot…..
ggplot(weather_df, aes(x = tmin, y = tmax))
Scatterplot…
ggplot(weather_df, aes(x = tmin, y = tmax))+
geom_point()
## Warning: Removed 15 rows containing missing values (geom_point).
weather_df %>%
filter(name == "CentralPank_NY") %>%
ggplot(aes(x = tmin, y = tmax))+
geom_point()
weather_sp =
ggplot(weather_df, aes(x = tmin, y = tmax))+
geom_point()
Add on aesthetic
ggplot(weather_df, aes(x = tmin, y = tmax))+
geom_point(aes(color = name))
## Warning: Removed 15 rows containing missing values (geom_point).
Add a geom
ggplot(weather_df, aes(x = tmin, y = tmax))+
geom_point(aes(color = name))+
geom_smooth(se = FALSE)
## `geom_smooth()` using method = 'gam' and formula 'y ~ s(x, bs = "cs")'
## Warning: Removed 15 rows containing non-finite values (stat_smooth).
## Warning: Removed 15 rows containing missing values (geom_point).
Add some options…..
add a gemo
ggplot(weather_df, aes(x = tmin, y = tmax))+
geom_point(aes(color = name), alpha = 0.4)+
geom_smooth(se = FALSE)
## `geom_smooth()` using method = 'gam' and formula 'y ~ s(x, bs = "cs")'
## Warning: Removed 15 rows containing non-finite values (stat_smooth).
## Warning: Removed 15 rows containing missing values (geom_point).
move color code to ggplot from the geom_point
ggplot(weather_df, aes(x = tmin, y = tmax,color = name))+
geom_point(alpha = 0.4)+
geom_smooth(se = FALSE)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## Warning: Removed 15 rows containing non-finite values (stat_smooth).
## Warning: Removed 15 rows containing missing values (geom_point).
Factting…..(divide 3 form)
ggplot(weather_df, aes(x = tmin, y = tmax,color = name))+
geom_point(alpha = 0.4)+
geom_smooth(se = FALSE)+
facet_grid( ~ name)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## Warning: Removed 15 rows containing non-finite values (stat_smooth).
## Warning: Removed 15 rows containing missing values (geom_point).
NO color ….
ggplot(weather_df, aes(x = tmin, y = tmax))+
geom_point(alpha = 0.4)+
geom_smooth(se = FALSE)+
facet_grid( ~ name)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## Warning: Removed 15 rows containing non-finite values (stat_smooth).
## Warning: Removed 15 rows containing missing values (geom_point).
A more interesting plot
ggplot(weather_df, aes(x = date, y = tmax, color = name)) +
geom_point()
## Warning: Removed 3 rows containing missing values (geom_point).
ggplot(weather_df, aes(x = date, y = tmax, color = name)) +
geom_line()
ggplot(weather_df, aes(x = date, y = tmax, color = name, size = prcp)) +
geom_point()
## Warning: Removed 3 rows containing missing values (geom_point).
ggplot(weather_df, aes(x = date, y = tmax, color = name, size = prcp)) +
geom_point()+
geom_smooth(se = FALSE) +
facet_grid( ~ name)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## Warning: Removed 3 rows containing non-finite values (stat_smooth).
## Warning: Removed 3 rows containing missing values (geom_point).
ggplot(weather_df, aes(x = date, y = tmax, color = name, size = prcp)) +
geom_smooth(se = FALSE)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## Warning: Removed 3 rows containing non-finite values (stat_smooth).
ggplot(weather_df, aes(x = date, y = tmax, color = name, size = prcp)) +
geom_hex()
## Warning: Removed 3 rows containing non-finite values (stat_binhex).
ggplot(weather_df) + geom_point(aes(x = tmax, y = tmin), color = "blue")
## Warning: Removed 15 rows containing missing values (geom_point).
ggplot(weather_df) + geom_point(aes(x = tmax, y = tmin, color = "blue"))
## Warning: Removed 15 rows containing missing values (geom_point).
Histrogram!
ggplot(weather_df, aes(x = tmax)) +
geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 3 rows containing non-finite values (stat_bin).
ggplot(weather_df, aes(x = tmax)) +
geom_histogram() +
facet_grid(~name)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 3 rows containing non-finite values (stat_bin).
ggplot(weather_df, aes(x = tmax, fill = name)) +
geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 3 rows containing non-finite values (stat_bin).
Density plot…
ggplot(weather_df, aes(x = tmax, fill = name)) +
geom_density(alpha=0.5)
## Warning: Removed 3 rows containing non-finite values (stat_density).
Boxplots!!
ggplot(weather_df, aes(x = name, y = tmax)) +
geom_boxplot()
## Warning: Removed 3 rows containing non-finite values (stat_boxplot).
Violin plot…
ggplot(weather_df, aes(x = name, y = tmax)) +
geom_violin()
## Warning: Removed 3 rows containing non-finite values (stat_ydensity).
Ridge plot…
ggplot(weather_df, aes(x = tmax, y = name)) +
geom_density_ridges()
## Picking joint bandwidth of 1.84
## Warning: Removed 3 rows containing non-finite values (stat_density_ridges).
ggplot(weather_df, aes(x = prcp, y = name)) +
geom_density_ridges(scale = .85)
## Picking joint bandwidth of 4.61
## Warning: Removed 3 rows containing non-finite values (stat_density_ridges).
weather_plot = ggplot(weather_df, aes(x = tmin, y = tmax)) +
geom_point(aes(color = name), alpha = .5)
ggsave("weather_plot.pdf", weather_plot, width = 8, height = 5)
## Warning: Removed 15 rows containing missing values (geom_point).